/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.form.forminfo; import java.awt.Container; import org.openide.nodes.Node; /** FormInfo is a class which provides information specific to certain form type. * E.g. for a JFrame form, the top-level bean is the JFrame itself, the top-level container is its getContetnPane (), * and the top-level container generation string is "getContentPane ().". * * @author Ian Formanek */ public abstract class FormInfo { /** Constant for empty list of properties */ public final static Node.Property[] NO_PROPERTIES = new Node.Property[0]; // -------------------------------------------------------------------------------------- /** Used to create the design-time instance of the form object, which is used only for * displaing properties and events of the form. I.e. it is not displayed visually, instead * the FormTopComponent is used with the container provided from <code>getTopContainer ()</code> method. * @return the instance of the form * @see #getTopContainer */ public abstract Object getFormInstance (); /** Used to provide the container which is used during design-time as the top-level container. * The container provided by this class should not be a Window, as it is added as a component to the * FormTopComponent, rather a JPanel, Panel or JDesktopPane should be used according to the form type. * By returning a <code>null</code> value, the form info declares that it does not represent a "visual" form and the visual * ediuting should not be used with it. * @return the top level container which will be used during design-time or null if the form is not visual */ public abstract Container getTopContainer (); /** Used to provide the container which is used during design-time as the top-level container for adding components. * The container provided by this class should not be a Window, as it is added as a component to the * FormTopComponent, rather a JPanel, Panel or JDesktopPane should be used according to the form type. * By returning a <code>null</code> value, the form info declares that it does not represent a "visual" form and the visual * editing should not be used with it. * The default implementation returns the same value as getTopContainer () method . * @return the top level container which will be used during design-time or null if the form is not visual */ public Container getTopAddContainer () { return getTopContainer (); } /** By overriding this method, the form info can specify a string which is used to add top-level * components - i.e. for java.awt.Frame, the default (empty string) implementation is used, while * for javax.swing.JFrame a <code>"getContentPane ()."</code> will be returned. * @return the String to be used for adding to the top-level container * @see #getTopContainer */ public String getContainerGenName () { return ""; // NOI18N } // -------------------------------------------------------------------------------------- // FINALIZE DEBUG METHOD public void finalize () throws Throwable { super.finalize (); if (System.getProperty ("netbeans.debug.form.finalize") != null) { System.out.println("finalized: "+this.getClass ().getName ()+", instance: "+this); // NOI18N } } // FINALIZE DEBUG METHOD } /* * Log * 9 Gandalf 1.8 1/6/00 Ian Formanek Removed obsoleted method * 8 Gandalf 1.7 1/5/00 Ian Formanek NOI18N * 7 Gandalf 1.6 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 6 Gandalf 1.5 7/9/99 Ian Formanek Menu editor improvements * 5 Gandalf 1.4 6/9/99 Ian Formanek ---- Package Change To * org.openide ---- * 4 Gandalf 1.3 6/6/99 Ian Formanek FormInfo design * finalized * 3 Gandalf 1.2 5/10/99 Ian Formanek * 2 Gandalf 1.1 5/10/99 Ian Formanek * 1 Gandalf 1.0 5/3/99 Ian Formanek * $ */